
import { defineAsyncComponent, shallowRef } from 'vue';
export const textTypeList: { name: string, type: { textSize: number, textColor: [number, number, number, number] } }[] = [
    {
        name: '白小文本',
        type: {
            textSize: 14,
            textColor: [1, 1, 1, 1]
        }
    },
    {
        name: '白中文本',
        type: {
            textSize: 18,
            textColor: [1, 1, 1, 1]
        }
    },
    {
        name: '白大文本',
        type: {
            textSize: 22,
            textColor: [1, 1, 1, 1]
        }
    },
    {
        name: '红小文本',
        type: {
            textSize: 14,
            textColor: [1, 0, 0, 1]
        }
    },
    {
        name: '红中文本',
        type: {
            textSize: 18,
            textColor: [1, 0, 0, 1]
        }
    },
    {
        name: '红大文本',
        type: {
            textSize: 22,
            textColor: [1, 0, 0, 1]
        }
    },
    {
        name: '绿小文本',
        type: {
            textSize: 14,
            textColor: [0, 1, 0, 1]
        }
    },
    {
        name: '绿中文本',
        type: {
            textSize: 18,
            textColor: [0, 1, 0, 1]
        }
    },
    {
        name: '绿大文本',
        type: {
            textSize: 22,
            textColor: [0, 1, 0, 1]
        }
    },
    {
        name: '蓝小文本',
        type: {
            textSize: 14,
            textColor: [0, 0, 1, 1]
        }
    },
    {
        name: '蓝中文本',
        type: {
            textSize: 18,
            textColor: [0, 0, 1, 1]
        }
    },
    {
        name: '蓝大文本',
        type: {
            textSize: 22,
            textColor: [0, 0, 1, 1]
        }
    }
]
//图标点
export const imageTypeList: { name: string, img: string, type: string }[] = [
    {
        name: '蓝色相机',
        img: require('../../assets/plotting/points/CameraBlue.png'),
        type: ('inner://CameraBlue.png')
    }, {
        name: '绿色相机',
        img: require('../../assets/plotting/points/CameraGreen.png'),
        type: ('inner://CameraGreen.png')
    }, {
        name: '蓝色车辆',
        img: require('../../assets/plotting/points/CarBlue.png'),
        type: ('inner://CarBlue.png')
    }, {
        name: '红色车辆',
        img: require('../../assets/plotting/points/CarRed.png'),
        type: ('inner://CarRed.png')
    }, {
        name: '渡口',
        img: require('../../assets/plotting/points/Dukou.png'),
        type: ('inner://Dukou.png')
    }, {
        name: '界限',
        img: require('../../assets/plotting/points/Jiexian.png'),
        type: ('inner://Jiexian.png')
    }, {
        name: '警示',
        img: require('../../assets/plotting/points/Jingshi.png'),
        type: ('inner://Jingshi.png')
    }, {
        name: '蓝色料斗',
        img: require('../../assets/plotting/points/LiaodouBlue.png'),
        type: ('inner://LiaodouBlue.png')
    }, {
        name: '红色料斗',
        img: require('../../assets/plotting/points/LiaodouRed.png'),
        type: ('inner://LiaodouRed.png')
    }, {
        name: '蓝色龙门吊',
        img: require('../../assets/plotting/points/LongmendiaoBlue.png'),
        type: ('inner://LongmendiaoBlue.png')
    }, {
        name: '红色龙门吊',
        img: require('../../assets/plotting/points/LongmendiaoRed.png'),
        type: ('inner://LongmendiaoRed.png')
    }, {
        name: '锚',
        img: require('../../assets/plotting/points/Mao.png'),
        type: ('inner://Mao.png')
    }, {
        name: '蓝色门机',
        img: require('../../assets/plotting/points/MenjiBlue.png'),
        type: ('inner://MenjiBlue.png')
    }, {
        name: '红色门机',
        img: require('../../assets/plotting/points/MenjiRed.png'),
        type: ('inner://MenjiRed.png')
    }, {
        name: '鸣笛',
        img: require('../../assets/plotting/points/Mingdi.png'),
        type: ('inner://Mingdi.png')
    }, {
        name: '气象站',
        img: require('../../assets/plotting/points/Qixiang.png'),
        type: ('inner://Qixiang.png')
    }, {
        name: '蓝色人员',
        img: require('../../assets/plotting/points/RenyuanBlue.png'),
        type: ('inner://RenyuanBlue.png')
    }, {
        name: '红色人员',
        img: require('../../assets/plotting/points/RenyuanRed.png'),
        type: ('inner://RenyuanRed.png')
    }, {
        name: '圆形蓝色人员',
        img: require('../../assets/plotting/points/RenyuanCircleBlue.png'),
        type: ('inner://RenyuanCircleBlue.png')
    }, {
        name: '圆形红色人员',
        img: require('../../assets/plotting/points/RenyuanCircleRed.png'),
        type: ('inner://RenyuanCircleRed.png')
    }
]
//poi2d
export const poi2dList: { name: string, img: string, mode: string }[] = [//多选模式类型
    {
        mode: 'SquareH01',
        img: require('../../assets/plotting/poi2d/Square_H_01.png'),
        name: '模式1'
    },
    {
        mode: 'SquareH02',
        img: require('../../assets/plotting/poi2d/Square_H_02.png'),
        name: '模式2'
    }, {
        mode: 'SquareV01',
        img: require('../../assets/plotting/poi2d/Square_V_01.png'),
        name: '模式3'
    }, {
        mode: 'SquareV02',
        img: require('../../assets/plotting/poi2d/Square_V_02.png'),
        name: '模式4'
    }, {
        mode: 'SquareV03',
        img: require('../../assets/plotting/poi2d/Square_V_03.png'),
        name: '模式5'
    }, {
        mode: 'SquareV04',
        img: require('../../assets/plotting/poi2d/Square_V_04.png'),
        name: '模式6'
    }, {
        mode: 'Flag01',
        img: require('../../assets/plotting/poi2d/Flag_01.png'),
        name: '模式7'
    }, {
        mode: 'Flag02',
        img: require('../../assets/plotting/poi2d/Flag_02.png'),
        name: '模式8'
    }, {
        mode: 'Linear01',
        img: require('../../assets/plotting/poi2d/Linear_01.png'),
        name: '模式9'
    }, {
        mode: 'Linear02',
        img: require('../../assets/plotting/poi2d/Linear_02.png'),
        name: '模式10'
    }, {
        mode: 'Linear03',
        img: require('../../assets/plotting/poi2d/Linear_03.png'),
        name: '模式11'
    }, {
        mode: 'CircularH01',
        img: require('../../assets/plotting/poi2d/Circular_H_01.png'),
        name: '模式12'
    }, {
        mode: 'CircularH02',
        img: require('../../assets/plotting/poi2d/Circular_H_02.png'),
        name: '模式13'
    }, {
        mode: 'CircularV01',
        img: require('../../assets/plotting/poi2d/Circular_V_01.png'),
        name: '模式14'
    }, {
        mode: 'CircularV02',
        img: require('../../assets/plotting/poi2d/Circular_V_02.png'),
        name: '模式15'
    }, {
        mode: 'CircularV03',
        img: require('../../assets/plotting/poi2d/Circular_V_03.png'),
        name: '模式16'
    }, {
        mode: 'CircularV04',
        img: require('../../assets/plotting/poi2d/Circular_V_04.png'),
        name: '模式17'
    }, {
        mode: 'CircularV05',
        img: require('../../assets/plotting/poi2d/Circular_V_05.png'),
        name: '模式18'
    }, {
        mode: 'P3D01',
        img: require('../../assets/plotting/poi2d/P3D_01.png'),
        name: '模式19'
    }, {
        mode: 'P3D02',
        img: require('../../assets/plotting/poi2d/P3D_02.png'),
        name: '模式20'
    }, {
        mode: 'P3D03',
        img: require('../../assets/plotting/poi2d/P3D_03.png'),
        name: '模式21'
    }, {
        mode: 'P3D04',
        img: require('../../assets/plotting/poi2d/P3D_04.png'),
        name: '模式22'
    }, {
        mode: 'P3D05',
        img: require('../../assets/plotting/poi2d/P3D_05.png'),
        name: '模式23'
    }, {
        mode: 'P3D06',
        img: require('../../assets/plotting/poi2d/P3D_06.png'),
        name: '模式24'
    }, {
        mode: 'P3D07',
        img: require('../../assets/plotting/poi2d/P3D_07.png'),
        name: '模式25'
    }, {
        mode: 'Diamond01',
        img: require('../../assets/plotting/poi2d/Diamond_01.png'),
        name: '模式26'
    }, {
        mode: 'Diamond02',
        img: require('../../assets/plotting/poi2d/Diamond_02.png'),
        name: '模式27'
    },{
        mode: 'Stranger',
        img: require('../../assets/plotting/poi2d/Stranger.png'),
        name: '模式28'
    },{
        mode: 'ManNormal',
        img: require('../../assets/plotting/poi2d/Man_Normal.png'),
        name: '模式29'
    },{
        mode: 'ManAbnormal',
        img: require('../../assets/plotting/poi2d/Man_Abnormal.png'),
        name: '模式30'
    },{
        mode: 'WomanNormal',
        img: require('../../assets/plotting/poi2d/Woman_Normal.png'),
        name: '模式31'
    },{
        mode: 'WomanAbnormal',
        img: require('../../assets/plotting/poi2d/Woman_Abnormal.png'),
        name: '模式32'
    },
    // {
    //     mode: 'Camera',
    //     img: require('../../assets/plotting/poi2d/Camera.png'),
    //     name: '模式32'
    // },
]

//矢量
export const vectorObjectList: { type: string, zh: string, icon: string, leftButton: boolean, com: any }[] = [
    {
        type: 'esGeoLineString',
        zh: '折线',
        icon: 'zhexian',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGeoLineString.vue') }))
    },
    {
        type: 'esGeoPolygon',
        zh: '多边形',
        icon: 'duobianxing',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGeoPolygon.vue') }))
    }, {
        type: 'esLocalCircle',
        zh: '圆',
        icon: 'yuan',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsLocalCircle.vue') }))
    },
    {
        type: 'esGeoRectangle',
        zh: '矩形',
        icon: 'juxing',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGeoRectangle.vue') }))
    },
    {
        type: 'esGeoExtrudedPolygon',
        zh: '挤压多边形',
        icon: 'duobianxing',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGeoExtrudedPolygon.vue') }))
    }

]
//注记
export const annotationObjectList: { type: string, zh: string, icon: string, leftButton: boolean, com: any }[] = [
    {
        type: 'esTextLabel',
        zh: '文字标注',
        icon: 'wenzibiaozhu',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsTextLabel.vue') }))

    },
    {
        type: 'esImageLabel',
        zh: '图标点',
        icon: 'tubiaodian',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsImageLabel.vue') }))
    },
    {
        type: 'esWidget',
        zh: '部件',
        icon: 'bujian',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsWidget.vue') }))
    },
    {
        type: 'esGeoDiv',
        zh: '自定义DIV',
        icon: 'zidingyi2',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGeoDiv.vue') }))
    },
    {
        type: 'esPoi3D',
        zh: 'Poi3D',
        icon: 'poi3D',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsPoi3D.vue') }))
    },
    {
        type: 'esPoi2D',
        zh: 'Poi2D',
        icon: 'poi2D',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsPoi2D.vue') }))
    },
    {
        type: 'esEntityCluster',
        zh: 'Poi聚合',
        icon: 'juhe',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsEntityCluster.vue') }))
    }
]
//园区
export const parkObjectList: { type: string, zh: string, icon: string, leftButton: boolean, com: any }[] = [
    {
        type: 'esHuman',
        zh: '人员',
        icon: 'renyuan',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsHuman.vue') }))
    },
    {
        type: 'esCar',
        zh: '车辆',
        icon: 'cheliang',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsCar.vue') }))
    },
    {
        type: 'esGltfModel',
        zh: '建筑',
        icon: 'jianzhu',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGltfModel.vue') }))
    },
    {
        type: 'esHumanPoi',
        zh: '人员Poi',
        icon: 'renyuanPoi',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsHumanPoi.vue') }))
    },
]
//特效
export const effectObjectList: { type: string, zh: string, icon: string, leftButton: boolean, com: any }[] = [
    {
        type: 'esPath',
        zh: '路径',
        icon: 'lujingdonghua',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsPath.vue') }))
    },
    {
        type: 'esApertureEffect',
        zh: '光圈特效',
        icon: 'guangquantexiao',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsApertureEffect.vue') }))
    },
    {
        type: 'esPolygonFence',
        zh: '电子围栏',
        icon: 'dianziweilan',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsPolygonFence.vue') }))
    },
    {
        type: 'esPipeFence',
        zh: '管道围栏',
        icon: 'weilan',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsPipeFence.vue') }))
    },
    {
        type: 'esAlarm',
        zh: '报警',
        icon: 'baojing',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsAlarm.vue') }))
    },
    {
        type: 'esCameraVisibleRange',
        zh: '摄像头',
        icon: 'shexiangtou',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsCameraVisibleRange.vue') }))
    },
    {
        type: 'esVideoFusion',
        zh: '视频融合',
        icon: 'shipinronghe',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsVideoFusion.vue') }))
    },
    {
        type: 'esLocalSkyBox',
        zh: '天空盒',
        icon: 'tiankonghe',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsLocalSkyBox.vue') }))
    },
    {
        type: 'esPit',
        zh: '坑',
        icon: 'keng1',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsPit.vue') }))
    },
    {
        type: 'esPipeline',
        zh: '管线',
        icon: 'guanxian',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsPipeline.vue') }))
    }, {
        type: 'esDynamicWater',
        zh: '局部水面',
        icon: 'jubushuimian',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsDynamicWater.vue') }))
    },
    {
        type: 'esGeoWater',
        zh: '地理水面',
        icon: 'dilishuimian',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGeoWater.vue') }))
    },
    {
        type: 'esHole',
        zh: '组合挖坑',
        icon: 'zuhewakeng',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsHole.vue') }))
    },
    {
        type: 'esBlastParticleSystem',
        zh: '粒子爆炸',
        icon: 'lizibaozha',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsBlastParticleSystem.vue') }))
    },
    {
        type: 'esFireParticleSystem',
        zh: '粒子烟火',
        icon: 'liziyanhuo',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsFireParticleSystem.vue') }))
    }

]
//actor
export const ueObjectList: { type: string, zh: string, icon: string, leftButton: boolean, com: any }[] = [
    {
        type: 'esUnrealActor',
        zh: '创建Actor',
        icon: 'actor',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsUnrealActor.vue') }))
    },
    {
        type: 'esUnrealActor2',
        zh: '绑定Actor',
        icon: 'actor',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsUnrealActor2.vue') }))
    },
    {
        type: 'esDatasmithRuntimeModel',
        zh: 'Datasmith',
        icon: 'DataMesh',
        leftButton: true,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsDatasmithRuntimeModel.vue') }))
    }, {
        type: 'esLevelRuntimeModel',
        zh: '关卡包',
        icon: 'guanqiabao',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsLevelRuntimeModel.vue') }))
    }, {
        type: 'eesGaussianSplatting',
        zh: '高斯溅射模型',
        icon: 'model-lib',
        leftButton: false,
        com: shallowRef(defineAsyncComponent(() => { return import('./esObj/EsGaussianSplatting.vue') }))
    }
]

